<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <style>
      table {
        width: 500px;
        margin: 100px auto;
        border-collapse: collapse;
        text-align: center;
      }

      td,
      th {
        border: 1px solid #333;
      }

      thead tr {
        height: 40px;
        background-color: #ccc;
      }
    </style>
  </head>

  <body>
    <table cellspacing="0">
      <thead>
        <tr>
          <th>姓名</th>
          <th>科目</th>
          <th>成绩</th>
          <th>操作</th>
        </tr>
      </thead>
      <tbody></tbody>
    </table>
    <script>
      // 1.先去准备好学生的数据
      var datas = [
        {
          name: '魏璎珞',
          subject: 'JavaScript',
          score: 100,
        },
        {
          name: '弘历',
          subject: 'JavaScript',
          score: 98,
        },
        // {
        //   name: '傅恒',
        //   subject: 'JavaScript',
        //   score: 99,
        // },
        // {
        //   name: '明玉',
        //   subject: 'JavaScript',
        //   score: 88,
        // },
        // {
        //   name: '大猪蹄子',
        //   subject: 'JavaScript',
        //   score: 0,
        // },
      ];
      //   2 根据数据生成表格中的tr和td
      // 2.1 datas中包含的元素的个数决定有多少个tr 外循环
      // 2.2 每个元素中有多少个属性 决定每个tr中有多少个td 内循环
      // 获取元素
      var tbody = document.querySelector('tbody');
      for (var i = 0; i < datas.length; i++) {
        var tr = document.createElement('tr');
        tbody.appendChild(tr);
        //往tr中填充td
        for (var k in datas[i]) {
          var td = document.createElement('td');
          tr.appendChild(td);
          console.log(datas[i], k);
          td.innerHTML = datas[i][k];
        }
        var td = document.createElement('td');
        tr.appendChild(td);
        td.innerHTML = '<a href="javascript:;">删除</a>';
        td.children[0].onclick = function () {
          //删除当前tr
          tbody.removeChild(this.parentNode.parentNode);
        };
      }
    </script>
  </body>
</html>
